03장 3계층형 시스템을 살펴보자
작성일: 2025-03-17
1. 3계층형 시스템의 구성도
3계층 아키텍처의 구성 요소는 웹 서버, AP 서버, DB 서버로 이루어집니다.
2. 주요 개념 설명
1. 프로세스와 스레드
-
프로세스는 운영 체제에서 실행되는 프로그램의 독립적인 인스턴스로, 각 프로세스는 고유한 메모리 공간을 가집니다.
-
스레드는 하나의 프로세스 내에서 실행되는 작은 실행 단위로, 프로세스 내의 메모리 공간을 공유합니다.
-
프로세스는 시스템 자원을 많이 소모하지만, 스레드는 더 효율적이고 빠르게 동작할 수 있습니다.
2. OS 커널
-
OS의 핵심으로, 하드웨어와 애플리케이션 간의 인터페이스를 제공 하며, 여러 중요한 역할(프로세스 관리, 메모리 관리 등)을 수행합니다.
-
애플리케이션이 OS를 통해서 어떤 처리를 하고 싶으면 시스템 콜이라고 하는 명령을 이용해서 커널에 명령을 내리고 인터페이스를 통해 전달됩니다.
3. 웹 데이터 흐름
-
웹 서버에서 클라이언트 요청: 클라이언트의 요청이 웹 서버에 도착하면, 웹 서버의 httpd 프로세스는 요청을 받아서 필요한 데이터를 AP(Application) 서버로 전달합니다.
-
AP 서버에서 데이터 처리: AP 서버는 데이터를 받아서 가공, 집계, 또는 계산을 처리한 후, 결과를 웹 서버로 반환합니다.
-
DB 서버에서 데이터 반환: AP 서버가 데이터가 필요하면 DB 서버로 요청을 보내고, DB 서버는 캐시에서 데이터를 찾고 없으면 디스크에서 데이터를 읽어와 반환합니다.
-
웹 서버에서 클라이언트로 반환: 웹 서버는 AP 서버에서 받은 데이터를 그대로 클라이언트의 웹 브라우저로 반환하며, HTML 파일이나 이미지를 포함한 데이터를 전달합니다.
4. 가상화
-
컴퓨터 시스템에서 물리 리소스를 추상화하는 것입니다. 하드웨어를 의식하지 않고 애플리케이션을 실행할 수 있는 운영체제는 가상화 기술 중 하나라고 볼 수 있습니다.
-
컨테이너는 리소스가 격리된 프로세스로써, 하나의 OS상에서 여러 개를 동시에 가동할 수 있으며, 각각 독립된 루트 파일 시스템, CPU/메모리, 프로세스 공간 등을 사용할 수 있습니다.
-
도커와 같은 컨테이너 기술은 OS 커널을 공유해 빠르고 효율적인 실행환경을 제공하며, 클라우드 서비스(AWS, GCP)에서 널리 활용되고 있습니다.
후기
펼치기
Liked : 좋았던 점은 무엇인가?
- 웹 데이터 흐름
- 서버 간의 데이터 흐름이 명확히 설명되어 시스템 동작 원리를 쉽게 이해할 수 있었습니다.
Lacked : 아쉬웠던 점, 부족한 점은 무엇인가?
- 가상 머신 사용
- 도커와 AWS를 배웠던 적이 있었는데, AWS는 비용 문제 때문에 제대로 활용하지 못했던 적이 있었습니다.
Learned : 배운 점은 무엇인가? (깨달은것, 인사이트, 기억하고 싶은 것 등)
- 주요 개념
- 3계층형 시스템의 구성의 개념을 흐름을 배우고 더 나아가 가상화와 컨테이너 기술을 사용할 수 있다는 점을 알게 되었습니다.
Longed for : 앞으로 바라는 것은 무엇인가? (앞으로 어떤 행동을 할것인지)
- 가상화 실무 적용
- 도커 컨테이너는 IT 기술에서 반드시 배워야 하는 것으로 알고 있기 때문에 실사용 사례를 배워야 할 것입니다.